package beans;

import java.util.Date;
import java.util.List;

import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

@Entity
@Table(name="projeto")
public class Projeto {
	@Id
	@GeneratedValue(strategy=GenerationType.AUTO)
	@Column(name="proj_cod")
	private Integer idProjeto;
	
	@Column(name="proj_nome")
	private String nome;
	
	@Column(name="proj_tipo")
	private String tipo;
	
	@Column(name="proj_desc")
	private String descricao;
	
	@Column(name="proj_data_inicio")
	@Temporal(TemporalType.DATE)
	private Date dataInicio;

	@Column(name="proj_data_fim")
	@Temporal(TemporalType.DATE)
	private Date dataFim;
	
	@Column(name="proj_situacao")
	private String situacao;
	
	@OneToMany(cascade=CascadeType.ALL, mappedBy="projeto",
			fetch=FetchType.EAGER)
	private List<Iteracao> listIteracao;
	
	@OneToMany(cascade=CascadeType.ALL, mappedBy="projeto")
	private List<ProjetoUsuario> listProjetoUsuario;
	
	public Integer getIdProjeto() {
		return idProjeto;
	}

	public void setIdProjeto(Integer idProjeto) {
		this.idProjeto = idProjeto;
	}

	public String getNome() {
		return nome;
	}

	public void setNome(String nome) {
		this.nome = nome;
	}

	public String getTipo() {
		return tipo;
	}

	public void setTipo(String tipo) {
		this.tipo = tipo;
	}

	public String getDescricao() {
		return descricao;
	}

	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}

	public Date getDataInicio() {
		return dataInicio;
	}

	public void setDataInicio(Date dataInicio) {
		this.dataInicio = dataInicio;
	}

	public Date getDataFim() {
		return dataFim;
	}

	public void setDataFim(Date dataFim) {
		this.dataFim = dataFim;
	}

	public String getSituacao() {
		return situacao;
	}

	public void setSituacao(String situacao) {
		this.situacao = situacao;
	}

	public List<Iteracao> getListIteracao() {
		return listIteracao;
	}

	public void setListIteracao(List<Iteracao> listIteracao) {
		this.listIteracao = listIteracao;
	}

	public List<ProjetoUsuario> getListProjetoUsuario() {
		return listProjetoUsuario;
	}

	public void setListProjetoUsuario(List<ProjetoUsuario> listProjetoUsuario) {
		this.listProjetoUsuario = listProjetoUsuario;
	}
}